Page({
  data: {
    photoList: [
      "/images/allphoto.png",
      "/images/allphoto.png",
      "/images/allphoto.png",
      "/images/allphoto.png",
      "/images/allphoto.png",
      "/images/allphoto.png",
      "/images/allphoto.png",
      "/images/allphoto.png"
    ], // 图片列表
    selectedPhotos: [], // 选中的图片
    selectedCount: 0,   // 选中数量
    type: "",           // 区分封面图还是步骤图
    index: -1           // 步骤图索引（用于步骤图选择）
  },

  onLoad(options) {
    // 获取从菜谱页传递的参数
    this.setData({
      type: options.type || "cover",
      index: options.index ? parseInt(options.index) : -1
    });
  },

  // 选择图片
  onSelectPhoto(e) {
    // 每次只能选中一张图片
    const imgUrl = e.currentTarget.dataset.src;
    const { selectedPhotos } = this.data;

    // 判断是否已选中
    if (selectedPhotos.includes(imgUrl)) {
      // 取消选中
      this.setData({
        selectedPhotos: [],
        selectedCount: 0
      });
    } else {
      // 选中图片（替换当前选中的图片）
      this.setData({
        selectedPhotos: [imgUrl],
        selectedCount: 1
      });
    }
  },

  // 点击确定，返回菜谱页并传递选中的图片
  onConfirm() {
    const selectedImage = this.data.selectedPhotos[0];
    if (!selectedImage) {
      wx.showToast({
        title: '请选择图片',
        icon: 'none'
      });
      return;
    }

    // 获取上一页（菜谱页）的页面实例
    const pages = getCurrentPages();
    const prevPage = pages[pages.length - 2];
    
    // 根据类型设置不同数据
    if (this.data.type === "cover") {
      // 设置封面图
      prevPage.setData({
        coverPath: selectedImage
      });
    } else if (this.data.type === "step" && this.data.index !== -1) {
      // 设置步骤图
      const steps = prevPage.data.steps;
      steps[this.data.index].imagePath = selectedImage;
      prevPage.setData({
        steps: steps
      });
    }

    // 返回上一页（菜谱页）
    wx.navigateBack({
      delta: 1
    });
  },

  // 点击取消
  onCancel() {
    wx.navigateBack();
  }
});
